/**
 * Wihidum - Efficient Broker Hierarchy for Publish Subscribe Middleware
 *
 * License      :   Apache License 2.0
 * Home Page    :   http://code.google.com/p/wihidum/
 * Mailing List :   wihidum@googlegroups.com
 */

package lk.mrt.cse.wihidum.communicator;

import lk.mrt.cse.wihidum.processor.PublicationMessage;
import lk.mrt.cse.wihidum.storage.NeighbourBroker;
import org.apache.axiom.soap.SOAPEnvelope;

public interface Router
{
    public void propagateSubscription(SOAPEnvelope message, String filter, String action,String logUUID);

    public void propagatePublication(PublicationMessage message);

    public SOAPEnvelope createPublicationRequest(PublicationMessage publicationMessage, NeighbourBroker superUnit, String SOAPURI);

   /* public ArrayList<NeighbourBroker> getSuperUnits();

    public ArrayList<NeighbourBroker> getPeerUnits();

    public ArrayList<NeighbourBroker> getSubUnits();

    public SOAPEnvelope createResponse();  */
}
